package com.ib.review.repository;

import com.ib.review.pojo.dto.CompareParam;
import com.ib.review.pojo.dto.CompareRecordQuery;
import com.ib.review.pojo.dto.CompareResultQuery;
import com.ib.review.pojo.dto.CompareRoleParam;
import com.ib.review.pojo.po.CompareRecordPO;
import com.ib.review.pojo.po.CompareResultPO;
import com.ib.review.pojo.po.CompareRulePO;

import java.time.LocalDateTime;
import java.util.List;

public interface CompareRepository {
    void insertRecord(CompareRecordPO po);

    void insertRule(CompareRulePO po1);

    Long selectCountByRecordId(String recordId);

    String queryHeading(CompareParam param);

    List<CompareResultPO> selectByRecordId(CompareResultQuery compareResultQuery);

    void updateFileNames(String recordId, String fileName);

    List<CompareRecordPO> selectByTimeRange(LocalDateTime threeDaysAgo, String fileName, String userName);

    CompareRecordPO queryRecordById(CompareRecordQuery compareRecordQuery);

    CompareRulePO queryRuleById(String recordId, int ruleType);

    void updateRoleContent(CompareRoleParam param);

    void deleteRule(String ruleId);

    List<String> queryFileName(String recordId);
}
